package udp;

import java.io.IOException;
import java.net.SocketException;
import java.util.HashMap;
import java.util.Map;

/**
 * 基于UDP的一个字典服务
 */
public class UDPDictServer extends UDPEchoServer {// 继承自UDPEchoServer
    // 定义一个字典的Map
    private Map<String, String> map;// 字典映射，存储英文单词到中文的映射

    // 初始化
    public UDPDictServer(int port) throws SocketException {
        super(port);// 调用父类构造函数，初始化UDP套接字
        // 初始化字典内容
        map = new HashMap<>();
        // 添加字典条目
        map.put("cat", "猫");
        map.put("dog", "狗");
        map.put("pig", "猪");
        map.put("duck","鸭子");
    }

    // 重写process()方法
    @Override
    protected String process(String key) {
        // 在字典中查找关键词，找不到则返回"查无此词"
        String response = map.getOrDefault(key, "查无此词");
        return response;
    }

    public static void main(String[] args) throws IOException {
        UDPDictServer server = new UDPDictServer(8888);// 创建字典服务器实例
        server.start();// 启动服务器
    }
}